package com.gillion.grape.fros.core.meta;

import net.java.amateras.uml.classdiagram.model.CascadeType;
import net.java.amateras.uml.classdiagram.model.GeneratorType;
import net.java.amateras.uml.classdiagram.model.LazyM2OType;
import net.java.amateras.uml.classdiagram.model.LazyO2MType;
import net.java.amateras.uml.classdiagram.model.RelationType;

/**
 * 类属性元数据
 * 
 * @author meichenhui
 * @since 2011-8-30
 * 
 */
public class FrosProperty {
	/**
	 * 属性名称
	 */
	private String name;
	/**
	 * 属性类型
	 */
	private String type;

	private String typeLenExpression;

	private String simplifiedChinese;

	private String traditionalChinese;

	private String english;

	private String lazyM2OType = LazyM2OType.PROXY.getName();

	private String lazyO2MType = LazyO2MType.TRUE.getName();

	private String relation = RelationType.GENERAL.name();

	private String cascade = CascadeType.NONE.getName();

	private String validateExist = new String();

	private boolean validateUnique = false;

	private boolean viewIdFlag = false;

	private boolean verticalExtendField = false;

	private String generator = GeneratorType.UUID_HEX.getName();
	
	private String customPropertyName;

	/**
	 * domain类型
	 */
	private String domainType;

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public String getDomainType() {
		return domainType;
	}

	public void setDomainType(String domainType) {
		this.domainType = domainType;
	}

	public String getSimplifiedChinese() {
		return simplifiedChinese;
	}

	public void setSimplifiedChinese(String simplifiedChinese) {
		this.simplifiedChinese = simplifiedChinese;
	}

	public String getTraditionalChinese() {
		return traditionalChinese;
	}

	public void setTraditionalChinese(String traditionalChinese) {
		this.traditionalChinese = traditionalChinese;
	}

	public String getEnglish() {
		return english;
	}

	public void setEnglish(String english) {
		this.english = english;
	}

	public String getLazyM2OType() {
		return lazyM2OType;
	}

	public void setLazyM2OType(String lazyM2OType) {
		this.lazyM2OType = lazyM2OType;
	}

	public String getLazyO2MType() {
		return lazyO2MType;
	}

	public void setLazyO2MType(String lazyO2MType) {
		this.lazyO2MType = lazyO2MType;
	}

	public String getRelation() {
		return relation;
	}

	public void setRelation(String relation) {
		this.relation = relation;
	}

	public String getCascade() {
		return cascade;
	}

	public void setCascade(String cascade) {
		this.cascade = cascade;
	}

	public String isValidateExist() {
		return validateExist;
	}

	public void setValidateExist(String validateExist) {
		this.validateExist = validateExist;
	}

	public boolean isValidateUnique() {
		return validateUnique;
	}

	public void setValidateUnique(boolean validateUnique) {
		this.validateUnique = validateUnique;
	}

	public boolean isViewIdFlag() {
		return viewIdFlag;
	}

	public void setViewIdFlag(boolean viewIdFlag) {
		this.viewIdFlag = viewIdFlag;
	}

	public String getGenerator() {
		return generator;
	}

	public void setGenerator(String generator) {
		this.generator = generator;
	}

	public String getTypeLenExpression() {
		return typeLenExpression;
	}

	public void setTypeLenExpression(String typeLenExpression) {
		this.typeLenExpression = typeLenExpression;
	}

	public boolean isVerticalExtendField() {
		return verticalExtendField;
	}

	public void setVerticalExtendField(boolean verticalExtendField) {
		this.verticalExtendField = verticalExtendField;
	}

	public String getCustomPropertyName() {
		return customPropertyName;
	}

	public void setCustomPropertyName(String customPropertyName) {
		this.customPropertyName = customPropertyName;
	}

}
